home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / fdimg / oh!.2hd / OH!DEN_B.LZH / TOOLS / CDC / CDCSXSRC.LZH / LBSRC.LZH / CDC.MAC next >
Text File  |  1995-03-20  |  15KB  |  575 lines

  1. *-<□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□>-
  2. *
  3. *           常駐型 オーディオCD コントローラー
  4. *
  5. *                     CDC.x
  6. *
  7. *             Copyright 1994 1995 TNB製作所
  8. *
  9.  
  10.  
  11. *
  12. *
  13. *    基本的にTRAP #5はSCSIを使うのがあるので、OPM割り込みなどでで使った
  14. *    りしないこと(基本的にはね)
  15. *
  16. *
  17.  
  18. CDC    macro    callname
  19.     moveq.l    #callname,d0
  20.     trap    #5
  21.     endm
  22.  
  23. _CDC_CHK_    macro
  24.     .local    _CC1,_CC2,_CC3
  25.     movem.l    d0/a0/a1,-(sp)
  26.     suba.l    a1,a1
  27.         moveq    #$81,d0
  28.         trap    #15
  29.     movea.l    d0,a1
  30.  
  31.     movea.l    $25*4.w,a0            *一つ前のポインタ
  32.     cmpa.l    #$00F00000,a0
  33.     bcc    _CC2
  34.     cmp.l    #'CDC_',-8(a0)
  35.     bne    _CC2
  36.     cmp.l    #'trap',-4(a0)
  37.     bne    _CC2
  38.         moveq    #$81,d0
  39.         trap    #15
  40.     moveq    #-1,d0    *常駐
  41.     bra    _CC3
  42. _CC2:
  43.         moveq    #$81,d0
  44.         trap    #15
  45.     moveq    #0,d0    *非常駐
  46. _CC3:
  47.     movem.l    (sp)+,d0/a0/a1
  48.     .endm
  49.  
  50. *---------------------------------------------------
  51. *    ドライバー常駐チェック
  52. *        trap5のベクタアドレス-8から'CDC_trap'があるかをチェック
  53. *        (アドレス+2から各ルーチンアドレスが列ぶ)
  54. *        マクロ _CDC_CHK_ が用意してある(USERモードで使うこと)
  55. *
  56. *    _CDC_CHK_
  57. *    beq    非常駐
  58. *    bne    常駐
  59. *
  60.  
  61.  
  62. *---------------------------------------------------
  63. *
  64. *    SYSTEM 関係
  65. *
  66.  
  67.  
  68. _CDC_VERSION    equ    $00
  69.     *
  70.     *    ・ドライバーのバージョンチェック
  71.     *
  72.     *    [引  数]    なし
  73.     *    [戻り値]    d0.l = $0101
  74.     *
  75.  
  76. _CDC_INIT    equ    $01
  77.     *
  78.     *    ・CD 及び ドライバーの初期化をします。([CLR]キー同等)
  79.     *
  80.     *    [引  数]    なし
  81.     *    [戻り値]    なし
  82.     *
  83.     *        演奏中止し、モードもクリアします。ただし、プログラム
  84.     *        は残ります。
  85.     *
  86.     *    [参  考] CD-ROMに対し REZEROUNIT を送りますので多少時間のか
  87.     *        かる場合があります。割り込み中など処理を早くしたい場
  88.     *        合、_CDC_STOP を使用するといいでしょう。
  89.     *
  90.  
  91.  
  92. *---------------------------------------------------
  93. *
  94. *    ワークアドレスゲット 関係
  95. *
  96.  
  97.  
  98. _CDC_STAT    equ    $02
  99.     *
  100.     *    ・CDの現在の状態の書かれたアドレスを返す
  101.     *
  102.     *    [引  数]    なし
  103.     *    [戻り値]    d0.l = ワークアドレス
  104.     *
  105.     *        ( 0)    .dc.w    0;NoCD 1;SetCD
  106.     *        ( 2)    .dc.l    状態  0x11;演奏中,0x12;一時停止,0x13;停止
  107.     *        ( 6)    .dc.l    曲番号
  108.     *        (10)    .dc.l    演奏中の曲の経過時間 (MSF型)
  109.     *        (14)    .dc.l    CD絶対総 経過時間 (MSF型)
  110.     *        (18)    .dc.l    現在演奏曲のながさ (MSF型)
  111.     *        (22)    .dc.l    CD名アドレス
  112.     *        (26)    .dc.l    曲名アドレス
  113.     *        (30)    .dc.l    LED文字アドレス    -----以下LED部に表示される物
  114.     *        (34)    .dc.l    LED数値 曲番号
  115.     *        (38)    .dc.l    LED数値 1以上;プログラムナンバー
  116.     *                    0;表示無し -1;MAX= -2;INP=
  117.     *        (42)    .dc.l    LED数値 タイム (MSF型)
  118.     *        (46)    .dc.l    LEDの状態
  119.     *                    ┌bit 0 ■:停止
  120.     *                    │bit 1 >:再生
  121.     *                    │bit 2 ||:一時停止
  122.     *                   イズレカ│bit 3 >>:早送り
  123.     *                    └bit 4 <<:巻き戻し
  124.     *                    ┌bit 5 ⊂:オート
  125.     *                    └bit 6 ◯:リピート
  126.     *                      bit 7 R:ランダム
  127.     *                      bit 8 M:メモリー
  128.     *                     (bit 9 B:BGM)
  129.     *                     (bit31 RV:TIME REV)
  130.     *        (50)    .dc.b    入力されている数値(上)
  131.     *        (51)    .dc.b    入力されている数値(下)
  132.     *
  133.     *        表示LED文字アドレスは基本的に同じアドレスを返してく
  134.     *        る。内容が変わったかどうかは曲名アドレスを監視するこ
  135.     *        とで可能。
  136.     *
  137.     *    CDの現在の状態の書かれたアドレスを返します。アドレスは固定さ
  138.     *    れてますが、トラップの再更新されます。
  139.     *
  140.     *    LED数値 タイムは TIMEREV.モードになっていてもREV.される前の
  141.     *    数値がかえります。対応したい場合LEDの状態でチェック、計算し
  142.     *    てください。
  143.     *
  144.     *    [参 考] CDC の機能が停止ているばあい同じ値を返します。
  145.     *        (LED文字アドレスも0の時もあります。)
  146.     *        _CDC_POWER($35)でチェックしてください。
  147.     *
  148.  
  149. _CDC_TRACKS    equ    $03
  150.     *
  151.     *    ・CD-DAのCDの総合時間、曲数、曲の演奏時間、曲名の書かれたアドレスを返す
  152.     *
  153.     *    [引  数]    なし
  154.     *    [戻り値]    d0.l = 曲名リストワークアドレス
  155.     *
  156.     *        ( 0)    .dc.w    0;NoCD 1;SetCD
  157.     *        ( 2)    .dc.l    CDCの最大記憶数(以下,記憶数)
  158.     *        ( 6)    .dc.l    CDの曲数
  159.     *        (10)    .dc.l    CDの全演奏時間
  160.     *        (14)    .dc.l    CDCLISTにあったか -1ならあった
  161.     *        (18)    .dcb.b    40,0        CD名        40-1文字
  162.     *        (58)    .dsb.b    (記憶数)*40    各曲の名前    40-1文字
  163.     *            .dsb.l    (記憶数)    各曲の演奏時間+拡張曲名flag
  164.     *            .dsb.l    (記憶数)    各曲のスタート時間
  165.     *                        (最上位ビットが立って入れば データトラック)
  166.     *
  167.     *        CD名、曲名以外の書き替えを禁止。名の最後は必ず0を付ける
  168.     *
  169.  
  170.  
  171. *---------------------------------------------------
  172. *
  173. *    外部コントロール用 関係
  174. *
  175.  
  176.  
  177. _CDC_SCSI_CHK    equ    $04
  178.     *
  179.     *    ・SCSIの状態を返します。
  180.     *
  181.     *    [引  数]    なし
  182.     *    [戻り値]    d0.l = 0 ; 使用可能
  183.     *                 < 0 ; 使用不可
  184.     *
  185.     *        TRAP #5でSCSIを使用するもの場合このコールでチェックしてか
  186.     *        ら使用してください。
  187.     *
  188.  
  189. _CDC_RELED    equ    $05
  190.     *
  191.     *    ・LED部の書き書き直しをします。数値入力のキャンセルも行います。
  192.     *
  193.     *    [引  数]    なし
  194.     *    [戻り値]    なし
  195.     *
  196.     *        LEDの書き直しを行います。TRAP #5 でCDCを操作した場合
  197.     *        すぐにLED部(_CDC_STAT のワークも含む)に表れないもの
  198.     *        があります。TIMER-Cが生きている場合一秒以内には書き
  199.     *        直されますが、このコールを使えばすぐに書き直されます。
  200.     *
  201.     *        また、入力された数値のキャンセルも行います。
  202.     *
  203.     *    [参 考] CDCコール番号の $1? はすぐに書き直されるようになって
  204.     *        ます。
  205.     *
  206.  
  207.  
  208. *---------------------------------------------------
  209. *
  210. *    キーコントロール 関係
  211. *
  212.  
  213.  
  214. _CDC_INKEY    equ    $07
  215.     *
  216.     *    ・CDCのキー割り込みルーチンを呼びます
  217.     *
  218.     *    [引  数]    d1.b = キーボードコード
  219.     *    [戻り値]    なし
  220.     *
  221.     *        キーボードのコードを送ることでCDCをコントロールします。
  222.     *
  223.     *┌─┐┌─┐                  ┌─┬─┬─┐┌─┬─┬─┬─┐
  224.     *│  ││  │            ─┬──┐│  │  │  ││  │記│登│  │
  225.     *└─┘└─┘            ─┴──┘└━┴━┴━┘└━┴─┴─┴─┘
  226.     *┌─┬─┬            ─┬──┐┌─┬─┬─┐┌─┬─┬─┬─┐
  227.     *│ES│  │              │ BS ││HM│  │DL││CL│/│*│-│
  228.     *├─┴┬┴  ┬┴┬┴┬     ┬┴┬┴──┤├─┼━┼─┤├─┼─┼─┼─┤
  229.     *│ TAB│    │E│R│     │[゚│    ││RU│RD│UN││7│8│9│+│
  230.     *├──┼    ┴┬┴┬┴     ┴┬┴┐ CR │├─┼─┼─┤├─┼─┼─┼─┤
  231.     *│                  │]ム│    ││  │↑│  ││4│5│6│=│
  232.     *                  ┴┬┴──┤│←├─┤→│├─┼─┼─┼─┤
  233.     *                │    ││  │↓│  ││1│2│3│  │
  234.     *                ┴┬──┘├─┴┬┴─┤├─┼─┼─┤EN│
  235.     *                  │      │    │    ││0│,│.│  │
  236.     *                ━┘      └──┴──┘└─┴─┴─┴─┘
  237.     *
  238.     *┌─┐┌─┐                  ┌─┬─┬─┐┌─┬─┬─┬─┐
  239.     *│  ││  │            ─┬──┐│  │  │  ││  │52│53│  │
  240.     *└─┘└─┘            ─┴──┘└━┴━┴━┘└━┴─┴─┴─┘
  241.     *┌─┬─┬            ─┬──┐┌─┬─┬─┐┌─┬─┬─┬─┐
  242.     *│01│  │              │ 0F ││36│  │37││3F│40│41│42│
  243.     *├─┴┬┴  ┬┴┬┴┬        ┬┴┬┴──┤├─┼━┼─┤├─┼─┼─┼─┤
  244.     *│ 10 │    │13│14│        │1C│    ││38│39│3A││43│44│45│46│
  245.     *├──┼    ┴┬┴┬┴        ┴┬┴┐ 1D │├─┼─┼─┤├─┼─┼─┼─┤
  246.     *│                  │29│    ││  │3C│  ││47│48│49│4A│
  247.     *                  ┴┬┴──┤│3B├─┤3D│├─┼─┼─┼─┤
  248.     *                │    ││  │3E│  ││4B│4C│4D│  │
  249.     *                ┴┬──┘├─┴┬┴─┤├─┼─┼─┤4E│
  250.     *                  │      │    │    ││4F│50│51│  │
  251.     *                ━┘      └──┴──┘└─┴─┴─┴─┘
  252.     *
  253.     *            $3F    [CLR]    = CDC.x初期化
  254.     *            $4E    [ENT]    = 演奏
  255.     *            $4A    [=]    = PAUSE/RESUME
  256.     *            $42/$46    [-][+]    = 巻戻し/早送り
  257.     *            $38    [R-UP]    = 1曲戻し *
  258.     *            $39    [R-DN]    = 1曲送り
  259.     *            $3A    [UNDO]    = リピートモード
  260.     *
  261.     *        などキー操作と同じ。他に
  262.     *
  263.     *            $52    [記号入力]= 数値入力キャンセル。LEDの初期化にもなる
  264.     *                        (CDC_RELEDと同じ機能です。)
  265.     *
  266.     *        があります(キー操作では出来ないようになってます)。
  267.     *
  268.     *
  269.     *        演奏開始の場合等、他のコールと違うのは入力されている数
  270.     *        値に影響される点です。もしこのコールだけで指定の曲演奏
  271.     *        したい場合、まず、数値キーコードを送ってから演奏すれば
  272.     *        可能です。
  273.     *
  274.     *        [-][+](サーチキー)を使う場合は、連続で送ったあと、最後
  275.     *        に 0 を送ってください。この時サーチ先から演奏されます。
  276.     *
  277.     *        $38は連続でコマンドを送ったりすることで動作が違うので
  278.     *        単純に、曲の頭から、1曲戻すと言う場合 _CDC_MVPLAY($13)
  279.     *        を使用してください。
  280.     *
  281.  
  282.  
  283. *---------------------------------------------------
  284. *
  285. *    プログラム関係
  286. *
  287.  
  288.  
  289. _CDC_PROG    equ    $08
  290.     *
  291.     *    ・CDCのプログラムワークアドレスを返す
  292.     *
  293.     *    [引  数]    なし
  294.     *    [戻り値]    d0.l = メモリワークアドレス
  295.     *
  296.     *        ( 0)    .dc.w    プログラム数
  297.     *        ( 2)    .ds.b    100,曲ナンバー
  298.     *
  299.     *        プログラムの直接書き替えも可能。ただし、書き替えたあと
  300.     *        もう一度_CDC_PROGをコールすること
  301.     *
  302.     *        プログラムを全部消去したい場合、プログラム数を0
  303.     *        に書き替えることで出来ます。
  304.     *
  305.  
  306. _CDC_PROGIN    equ    $09
  307.     *
  308.     *    ・指定曲ナンバーをプログラムに記憶します
  309.     *
  310.     *    [引  数]    d1.l = 曲ナンバー
  311.     *                 = -1 ; 現在プログラムされている数のみ返す
  312.     *            d2.l = プログラムナンバー (0~)
  313.     *                 = -1 ;プログラムの最後に追加します ([.])
  314.     *    [戻り値]    d0.l = 現在プログラムされている数 ; 正常終了
  315.     *                 < 0 ; エラー(プログラム100を越える)
  316.     *
  317.  
  318. _CDC_PROGOUT    equ    $0A
  319.     *
  320.     *    ・最後のプログラムの曲をプログラムから消します
  321.     *
  322.     *    [引  数]    なし
  323.     *    [戻り値]    d0.l = 現在プログラムされている数 ; 正常終了
  324.     *                 < 0 ; エラー
  325.     *
  326.  
  327. _CDC_PROGTIME    equ    $0F
  328.     *
  329.     *    ・プログラムされた曲の総演奏時間を計算します
  330.     *
  331.     *    [引  数]    なし
  332.     *    [戻り値]    d0.l = ワークアドレス
  333.     *                 < 0 ; エラー
  334.     *        ( 0)    .dc.l    演奏予定総長さ
  335.     *        ( 4)    .dc.l    演奏された曲の合計長さ
  336.     *
  337.     *        プログラムされて曲の合計と演奏された曲の合計長さ
  338.     *        を返します。ただし、演奏されていない時は0,0が
  339.     *        かえります。
  340.     *        演奏中にプログラムの変更があると数値がおかしくな
  341.     *        ることがあります(変更されない)
  342.     *
  343.     *    [参 考]ランダム演奏時にも、ノーマル時にも有効。
  344.     *
  345.  
  346.  
  347. *---------------------------------------------------
  348. *
  349. *    演奏関係
  350. *
  351.  
  352.  
  353. _CDC_PLAY    equ    $10
  354.     *
  355.     *    ・曲ナンバー指定によりノーマル演奏開始
  356.     *
  357.     *    [引  数]    d1.l = 開始曲ナンバー (0ならCDC管理演奏)
  358.     *            d2.l = 終了曲ナンバー (-1なら最後まで)
  359.     *    [戻り値]    d0.l = 0 ; 正常終了
  360.     *                 < 0 ; エラー
  361.     *
  362.  
  363. _CDC_PAUSE    equ    $11
  364.     *
  365.     *    ・CD演奏の一時停止。演奏していない場合何もしません。
  366.     *
  367.     *    [引  数]    なし
  368.     *    [戻り値]    なし
  369.     *
  370.  
  371. _CDC_RESUME    equ    $12
  372.     *
  373.     *    ・CD演奏の一時停止の解除。演奏中は何もしません。
  374.     *
  375.     *    [引  数]    なし
  376.     *    [戻り値]    なし
  377.     *
  378.  
  379. _CDC_MVPLAY    equ    $13
  380.     *
  381.     *    ・CD演奏の曲を変えます
  382.     *
  383.     *    [引  数]    d1.l = 現在演奏中の曲からの ±値 (-1~1)
  384.     *    [戻り値]    d0.l = 0 ; 正常終了
  385.     *                 < 0 ; エラー
  386.     *
  387.     *        0を指定することで演奏中の曲を最初から。
  388.     *        プログラムされている場合、プログラム順に曲を移動、演奏します。
  389.     *        ランダムモード時は、どの曲にいくか判りません。
  390.     *
  391.  
  392. _CDC_BGM    equ    $14
  393.     *
  394.     *    ・指定アドレス間を繰り返し演奏します
  395.     *
  396.     *    [引  数]    d1.l = 開始トラックor開始アドレス
  397.     *            d2.l = 終了アドレス(0ならその曲の最後の数値)
  398.     *            d3.l = ループアドレス(0ならd1と同じ値に)
  399.     *            d4.l = ループ終了アドレス(0ならd2と同じ値に)
  400.     *    [戻り値]    d0.l = 0 ; 正常終了
  401.     *                 < 0 ; エラー
  402.     *
  403.     *        d1.lは$100未満であればトラック指定になります。
  404.     *        d1.lが$100以上であればアドレス指定になります。
  405.     *
  406.     *        _CDC_MODE の戻り値が bit4;BGMが立ちます
  407.     *
  408.     *    [参  考] 基本的に BGMとして CD を使う場合のコールなので
  409.     *        LED部にBGMモードとは表示されません。
  410.     *        使う場合、キーボードからのコントロールを殺したほう
  411.     *        がいいでしょう。
  412.     *                ZCDC.x で使用してます。
  413.     *
  414.  
  415. _CDC_STOP    equ    $15
  416.     *
  417.     *    ・CD演奏を停止します。
  418.     *
  419.     *    [引  数]    なし
  420.     *    [戻り値]    なし
  421.     *
  422.     *        _CDC_INIT に比べ高速です。割り込み中など処理が止まる
  423.     *        のを避けたい場合のみ使用してください。CDC.x内部では
  424.     *        停止になりますが、CD-ROM自体の状態は一時停止になりま
  425.     *        す。また、LEDの書き替えもすぐに行われません。
  426.     *
  427.  
  428.  
  429. *---------------------------------------------------
  430. *
  431. *    CDC DRIVE MODE 関係
  432. *
  433.  
  434.  
  435. _CDC_DRIVE    equ    $30
  436.     *
  437.     *    ・CDCの心臓を動かす TIMER-Cを乗っ取っていると、CDCが動きません。
  438.     *     が、直接ある一定期でこれをコールすれば大丈夫です。
  439.     *
  440.     *    [引  数]    なし
  441.     *    [戻り値]    なし
  442.     *
  443.     *    [参 考] MUTERMモード対応にも対応してます。が気にすることはないで
  444.     *        しょう。
  445.     *
  446.  
  447. _CDC_MODE    equ    $31
  448.     *
  449.     *    ・CDCの演奏モードを設定(トグル)
  450.     *
  451.     *    [引  数]    d1.l = モード
  452.     *                 =  0 ; オート
  453.     *                 =  1 ; リピート
  454.     *                 =  2 ; ランダム
  455.     *                 = -1 ; モードののみ返す
  456.     *    [戻り値]    d0.l = 現在のモード ; 正常終了
  457.     *        現在のモードは
  458.     *                bit0 :オート
  459.     *                bit1 :リピート
  460.     *                bit2 :ランダム
  461.     *                bit3 :メモリー
  462.     *                [bit4 :BGM]
  463.     *
  464.     *        設定は _CDC_INKEY($7)でそれぞれのキーコードを、
  465.     *        送った時を同じ処理をします(ただし入力数字は無視
  466.     *        されます)ので、場合によリ演奏開始されます。
  467.     *
  468.     *        モード変更はトグルで行われるので一度モードを調
  469.     *        べてから設定したほうがいいでしょう。
  470.     *
  471.  
  472. _CDC_KEYMODE    equ    $32
  473.     *
  474.     *    ・CDCのキー操作関係のモードを設定
  475.     *
  476.     *    [引  数]    d1.l = モード
  477.     *                 0 ; 一切受け付けない (-KS)
  478.     *                 1 ; 受け付ける
  479.     *                -1 ; 現在のモードのみ返す
  480.     *    [戻り値]    d0.l = 前のモード ; 正常終了
  481.  
  482. _CDC_LED    equ    $33
  483.     *
  484.     *    ・CDCのLEDの表示モードを設定する
  485.     *
  486.     *    [引  数]    d1.l =  0 ; 表示モード
  487.     *                    1 ; 非表示モード
  488.     *                 = -1 ; 現在の値
  489.     *    [戻り値]    d0.l = 前のモード ; 正常終了
  490.     *                 < 0 ; エラー
  491.     *
  492.     *        表示モードにしてもTEXTが使われていると表示されません
  493.     *
  494.     *    [参 考] Trapコールで強制LED表示モードはありません
  495.     *
  496.  
  497. _CDC_TIMING    equ    $34
  498.     *
  499.     *    ・CDチェックする間隔設定(基本的に使用禁止)
  500.     *
  501.     *    [引  数]    d1.l =  1s単位
  502.     *                 = -1 ; 現在の値
  503.     *    [戻り値]    d0.l = 前の値(単位1/10s) ; 正常終了
  504.     *                 < 0 ; エラー
  505.     *
  506.     *        間隔チェックにはIOCSのTIMER-Cのワークを見ているので
  507.     *        TIMER-Cを変更している場合、意味がありません。
  508.     *
  509.     *    [参 考] デバグ用なので使用する意味はありません。
  510.     *
  511.  
  512. _CDC_POWER    equ    $35
  513.     *
  514.     *    ・CDC の機能を制御
  515.     *
  516.     *    [引  数]    d1.l =  1 ; 機能する
  517.     *                 =  0 ; 停止する ([ESC])
  518.     *                 = -1 ; 現在の値
  519.     *    [戻り値]    d0.l = 前の値 ; 正常終了
  520.     *                 < 0 ; エラー
  521.     *
  522.     *        機能を停止しても trap#5での操作も可能ですが、
  523.     *        _CDC_DRIVE を常用する必要があります。
  524.     *
  525.  
  526. _CDC_TRACKMODE    equ    $36
  527.     *
  528.     *    ・トラック記憶モードを変えます(演奏も停止します)。
  529.     *
  530.     *    [引  数]    d1.l =  0 ; タイトルリストファイルを参照、
  531.     *                 拡張トラック設定
  532.     *                 =  1 ; 拡張トラック設定解除
  533.     *    [戻り値]    なし
  534.     *
  535.     *        タイトルリストファイルからの登録を行います。タイトル
  536.     *        リストファイルを変更した時これを実行すれば読み込んで
  537.     *        くれます
  538.     *
  539.     *    [参 考] d1.l==1 は主にZCDC.xで使用します。普通の音楽演奏の場合
  540.     *        は意味がないでしょう。
  541.     *
  542.  
  543. _CDC_KEYCANSEL    equ    $37
  544.     *
  545.     *    ・CDCのキー操作無効を個別に設定
  546.     *
  547.     *    [引  数]    d1.l = 無効にするキーボードコード
  548.     *                 = -1 ; もとに戻す
  549.     *    [戻り値]    なし
  550.     *
  551.     *    アプリでキーボードからのコントロールが困る物がある場合、特定
  552.     *    のキーのみ無効に出来ます。アプリ終了時もとに戻すこと。
  553.     *
  554.     *    [参 考] スイッチ -B[n]でもとに戻すことが可能です。
  555.     *
  556.  
  557. *---------------------------------------------------
  558. *
  559. *    CDC ERROR CORDS
  560. *
  561. *
  562. * -1    ; 
  563. * -2    ; Play Audio Begin ・ Play Audio Block Count Command error'演奏できない'
  564. * -3    ; Start Track Address or ReadTOC Command error'演奏できない'
  565. * -4    ; 指定された曲番号は、存在しない
  566. * -5    ; Leadout Track Address or ReadTOC Command error
  567. * -100    ; CD-ROM でない 準備されていない
  568.  
  569. *
  570. *    戻り値としてd0が使われていなくても破壊されます.
  571. *
  572. *
  573.  
  574.  
  575.